package com.wicket.okrfinance.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrfinance.biz.service.FinanceService;
import com.wicket.okrfinance.biz.service.dto.req.*;
import com.wicket.okrfinance.biz.service.dto.res.*;
import com.wicket.okrfinance.common.ro.OkrResult;
import com.wicket.okrfinance.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/finance/finance/")
public class FinanceController {

  @Autowired
  FinanceService financeService;
/**
   * D7批量查财务资金来源(公共)
   */
    @PostMapping("batchQueryAccountCapitalSourceCom")
    public OkrResult<BatchQueryAccountCapitalSourceComRespDto> batchQueryAccountCapitalSourceCom(@RequestBody @Validated BatchQueryAccountCapitalSourceComReqDto reqDTO){
    return OkrResult.success(financeService.batchQueryAccountCapitalSourceCom(reqDTO));
    }
/**
   * D7-查询资金账户详情(公共)
   */
    @PostMapping("queryFinanceAccountDetailCom")
    public OkrResult<QueryFinanceAccountDetailComRespDto> queryFinanceAccountDetailCom(@RequestBody @Validated QueryFinanceAccountDetailComReqDto reqDTO){
    return OkrResult.success(financeService.queryFinanceAccountDetailCom(reqDTO));
    }
/**
   * D7执行账户资金处理(公共)
   */
    @PostMapping("implementAccountFundHandleCom")
    public OkrResult<ImplementAccountFundHandleComRespDto> implementAccountFundHandleCom(@RequestBody @Validated ImplementAccountFundHandleComReqDto reqDTO){
    return OkrResult.success(financeService.implementAccountFundHandleCom(reqDTO));
    }
/**
   * D7查规划使用预算资金来源列表
   */
    @PostMapping("queryPlanUseBudgetAccountCapitalSourceList")
    public OkrResult<QueryPlanUseBudgetAccountCapitalSourceListRespDto> queryPlanUseBudgetAccountCapitalSourceList(@RequestBody @Validated QueryPlanUseBudgetAccountCapitalSourceListReqDto reqDTO){
    return OkrResult.success(financeService.queryPlanUseBudgetAccountCapitalSourceList(reqDTO));
    }
/**
   * D7-执行初始化账户(公共)
   */
    @PostMapping("implementInitializeFinanceAccountCom")
    public OkrResult<ImplementInitializeFinanceAccountComRespDto> implementInitializeFinanceAccountCom(@RequestBody @Validated ImplementInitializeFinanceAccountComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeFinanceAccountCom(reqDTO));
    }
/**
   * D7查财务资金来源列表
   */
    @PostMapping("queryAccountCapitalSourceList")
    public OkrResult<QueryAccountCapitalSourceListRespDto> queryAccountCapitalSourceList(@RequestBody @Validated QueryAccountCapitalSourceListReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountCapitalSourceList(reqDTO));
    }
/**
   * D7查财务科目详情(公共)
   */
    @PostMapping("queryAccountSubjectDetailCom")
    public OkrResult<QueryAccountSubjectDetailComRespDto> queryAccountSubjectDetailCom(@RequestBody @Validated QueryAccountSubjectDetailComReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountSubjectDetailCom(reqDTO));
    }
/**
   * D7查财务资金来源详情(公共)
   */
    @PostMapping("queryAccountCapitalSourceDetailCom")
    public OkrResult<QueryAccountCapitalSourceDetailComRespDto> queryAccountCapitalSourceDetailCom(@RequestBody @Validated QueryAccountCapitalSourceDetailComReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountCapitalSourceDetailCom(reqDTO));
    }
/**
   * D7执行账户减金额权限判断(公共)
   */
    @PostMapping("implementAccountSubtractAmountJjudgeCom")
    public OkrResult<ImplementAccountSubtractAmountJjudgeComRespDto> implementAccountSubtractAmountJjudgeCom(@RequestBody @Validated ImplementAccountSubtractAmountJjudgeComReqDto reqDTO){
    return OkrResult.success(financeService.implementAccountSubtractAmountJjudgeCom(reqDTO));
    }
/**
   * D7-查询财务科目列表(公共)
   */
    @PostMapping("queryAccountSubjectListCom")
    public OkrResult<QueryAccountSubjectListComRespDto> queryAccountSubjectListCom(@RequestBody @Validated QueryAccountSubjectListComReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountSubjectListCom(reqDTO));
    }
/**
   * D7新增财务科目
   */
    @PostMapping("addAccountSubject")
    public OkrResult<AddAccountSubjectRespDto> addAccountSubject(@RequestBody @Validated AddAccountSubjectReqDto reqDTO){
    return OkrResult.success(financeService.addAccountSubject(reqDTO));
    }
/**
   * D7新增财务科目(公共)
   */
    @PostMapping("addAccountSubjectCom")
    public OkrResult<AddAccountSubjectComRespDto> addAccountSubjectCom(@RequestBody @Validated AddAccountSubjectComReqDto reqDTO){
    return OkrResult.success(financeService.addAccountSubjectCom(reqDTO));
    }
/**
   * D7删除财务科目
   */
    @PostMapping("deleteAccountSubject")
    public OkrResult<DeleteAccountSubjectRespDto> deleteAccountSubject(@RequestBody @Validated DeleteAccountSubjectReqDto reqDTO){
    return OkrResult.success(financeService.deleteAccountSubject(reqDTO));
    }
/**
   * D7查财务科目列表
   */
    @PostMapping("queryAccountSubjectList")
    public OkrResult<QueryAccountSubjectListRespDto> queryAccountSubjectList(@RequestBody @Validated QueryAccountSubjectListReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountSubjectList(reqDTO));
    }
/**
   * D7修改财务科目
   */
    @PostMapping("updateAccountSubject")
    public OkrResult<UpdateAccountSubjectRespDto> updateAccountSubject(@RequestBody @Validated UpdateAccountSubjectReqDto reqDTO){
    return OkrResult.success(financeService.updateAccountSubject(reqDTO));
    }
/**
   * D7修改财务科目(公共)
   */
    @PostMapping("updateAccountSubjectCom")
    public OkrResult<UpdateAccountSubjectComRespDto> updateAccountSubjectCom(@RequestBody @Validated UpdateAccountSubjectComReqDto reqDTO){
    return OkrResult.success(financeService.updateAccountSubjectCom(reqDTO));
    }
/**
   * D7查询财务科目详情
   */
    @PostMapping("queryAccountSubjectDetail")
    public OkrResult<QueryAccountSubjectDetailRespDto> queryAccountSubjectDetail(@RequestBody @Validated QueryAccountSubjectDetailReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountSubjectDetail(reqDTO));
    }
/**
   * D7新增财务资金来源
   */
    @PostMapping("addAccountCapitalSource")
    public OkrResult<AddAccountCapitalSourceRespDto> addAccountCapitalSource(@RequestBody @Validated AddAccountCapitalSourceReqDto reqDTO){
    return OkrResult.success(financeService.addAccountCapitalSource(reqDTO));
    }
/**
   * D7新增财务资金来源(公共)
   */
    @PostMapping("addAccountCapitalSourceCom")
    public OkrResult<AddAccountCapitalSourceComRespDto> addAccountCapitalSourceCom(@RequestBody @Validated AddAccountCapitalSourceComReqDto reqDTO){
    return OkrResult.success(financeService.addAccountCapitalSourceCom(reqDTO));
    }
/**
   * D7查询财务资金来源列表(公共)
   */
    @PostMapping("queryAccountCapitalSourceListCom")
    public OkrResult<QueryAccountCapitalSourceListComRespDto> queryAccountCapitalSourceListCom(@RequestBody @Validated QueryAccountCapitalSourceListComReqDto reqDTO){
    return OkrResult.success(financeService.queryAccountCapitalSourceListCom(reqDTO));
    }
/**
   * D7执行是否组织正式财务标准分析(公共)
   */
    @PostMapping("implementIsOrgOfficialAccountNomAnalyzeCom")
    public OkrResult<ImplementIsOrgOfficialAccountNomAnalyzeComRespDto> implementIsOrgOfficialAccountNomAnalyzeCom(@RequestBody @Validated ImplementIsOrgOfficialAccountNomAnalyzeComReqDto reqDTO){
    return OkrResult.success(financeService.implementIsOrgOfficialAccountNomAnalyzeCom(reqDTO));
    }
/**
   * D7分析预算设置数据类型编码(公共)
   */
    @PostMapping("analysisBudgetSetDataTypeCom")
    public OkrResult<AnalysisBudgetSetDataTypeComRespDto> analysisBudgetSetDataTypeCom(@RequestBody @Validated AnalysisBudgetSetDataTypeComReqDto reqDTO){
    return OkrResult.success(financeService.analysisBudgetSetDataTypeCom(reqDTO));
    }
/**
   * D7执行目标资金来源预算设置(公共)
   */
    @PostMapping("implementTargetFundingSourceBudgetSetCom")
    public OkrResult<ImplementTargetFundingSourceBudgetSetComRespDto> implementTargetFundingSourceBudgetSetCom(@RequestBody @Validated ImplementTargetFundingSourceBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementTargetFundingSourceBudgetSetCom(reqDTO));
    }
/**
   * D7执行统计目标周期预算设置(公共)
   */
    @PostMapping("implementStatisticalTargetCycleBudgetSetCom")
    public OkrResult<ImplementStatisticalTargetCycleBudgetSetComRespDto> implementStatisticalTargetCycleBudgetSetCom(@RequestBody @Validated ImplementStatisticalTargetCycleBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementStatisticalTargetCycleBudgetSetCom(reqDTO));
    }
/**
   * D7执行目标财务账户加减费用(公共)
   */
    @PostMapping("implementTargetFinancialAccountPlusMinusExpensesCom")
    public OkrResult<ImplementTargetFinancialAccountPlusMinusExpensesComRespDto> implementTargetFinancialAccountPlusMinusExpensesCom(@RequestBody @Validated ImplementTargetFinancialAccountPlusMinusExpensesComReqDto reqDTO){
    return OkrResult.success(financeService.implementTargetFinancialAccountPlusMinusExpensesCom(reqDTO));
    }
/**
   * D7计算并新增预算资金来源占比(公共)
   */
    @PostMapping("calculateAndCreateBudgetSourceProportionCom")
    public OkrResult<CalculateAndCreateBudgetSourceProportionComRespDto> calculateAndCreateBudgetSourceProportionCom(@RequestBody @Validated CalculateAndCreateBudgetSourceProportionComReqDto reqDTO){
    return OkrResult.success(financeService.calculateAndCreateBudgetSourceProportionCom(reqDTO));
    }
/**
   * D7-执行目标财务预算相关处理(公共)
   */
    @PostMapping("implementTargetFinBudgetHandleCom")
    public OkrResult<ImplementTargetFinBudgetHandleComRespDto> implementTargetFinBudgetHandleCom(@RequestBody @Validated ImplementTargetFinBudgetHandleComReqDto reqDTO){
    return OkrResult.success(financeService.implementTargetFinBudgetHandleCom(reqDTO));
    }
/**
   * D7执行统计下级目标预算已设值(公共)
   */
    @PostMapping("implementCountSetValuesSubordinateTargetBudgetsCom")
    public OkrResult<ImplementCountSetValuesSubordinateTargetBudgetsComRespDto> implementCountSetValuesSubordinateTargetBudgetsCom(@RequestBody @Validated ImplementCountSetValuesSubordinateTargetBudgetsComReqDto reqDTO){
    return OkrResult.success(financeService.implementCountSetValuesSubordinateTargetBudgetsCom(reqDTO));
    }
/**
   * D7执行统计下级总预算值并记录redis(公共)
   */
    @PostMapping("implementCalculateTotalBudgetValueSubordinatesRecordCom")
    public OkrResult<ImplementCalculateTotalBudgetValueSubordinatesRecordComRespDto> implementCalculateTotalBudgetValueSubordinatesRecordCom(@RequestBody @Validated ImplementCalculateTotalBudgetValueSubordinatesRecordComReqDto reqDTO){
    return OkrResult.success(financeService.implementCalculateTotalBudgetValueSubordinatesRecordCom(reqDTO));
    }

/**
   * D7执行单内容统计资金来源及账户(公共)
   */
    @PostMapping("implementSingleContentCountFundingSourcesAccountsCom")
    public OkrResult<ImplementSingleContentCountFundingSourcesAccountsComRespDto> implementSingleContentCountFundingSourcesAccountsCom(@RequestBody @Validated ImplementSingleContentCountFundingSourcesAccountsComReqDto reqDTO){
    return OkrResult.success(financeService.implementSingleContentCountFundingSourcesAccountsCom(reqDTO));
    }
/**
   * D7执行循环统计过滤下级子周期(公共)
   */
    @PostMapping("implementRecurrentCountFilterSubCyclesCom")
    public OkrResult<ImplementRecurrentCountFilterSubCyclesComRespDto> implementRecurrentCountFilterSubCyclesCom(@RequestBody @Validated ImplementRecurrentCountFilterSubCyclesComReqDto reqDTO){
    return OkrResult.success(financeService.implementRecurrentCountFilterSubCyclesCom(reqDTO));
    }
/**
   * D7执行统计下级子周期资金来源值(公共)
   */
    @PostMapping("implementCalculateSourceValueFundsSubordinateSubCyclesCom")
    public OkrResult<ImplementCalculateSourceValueFundsSubordinateSubCyclesComRespDto> implementCalculateSourceValueFundsSubordinateSubCyclesCom(@RequestBody @Validated ImplementCalculateSourceValueFundsSubordinateSubCyclesComReqDto reqDTO){
    return OkrResult.success(financeService.implementCalculateSourceValueFundsSubordinateSubCyclesCom(reqDTO));
    }
/**
   * D7-执行统计下级账户更新当前账户(公共)
   */
    @PostMapping("implementCountSubAcctAndUpdateCurAcctCom")
    public OkrResult<ImplementCountSubAcctAndUpdateCurAcctComRespDto> implementCountSubAcctAndUpdateCurAcctCom(@RequestBody @Validated ImplementCountSubAcctAndUpdateCurAcctComReqDto reqDTO){
    return OkrResult.success(financeService.implementCountSubAcctAndUpdateCurAcctCom(reqDTO));
    }
/**
   * D7执行统计下级目标预算redis临时值(公共)
   */
    @PostMapping("implementCountTempBudgetValuesSubordinateTargetsCom")
    public OkrResult<ImplementCountTempBudgetValuesSubordinateTargetsComRespDto> implementCountTempBudgetValuesSubordinateTargetsCom(@RequestBody @Validated ImplementCountTempBudgetValuesSubordinateTargetsComReqDto reqDTO){
    return OkrResult.success(financeService.implementCountTempBudgetValuesSubordinateTargetsCom(reqDTO));
    }
/**
   * D7执行初始化目标周期预算设置(公共)
   */
    @PostMapping("implementInitializeTargetCycleBudgetSetCom")
    public OkrResult<ImplementInitializeTargetCycleBudgetSetComRespDto> implementInitializeTargetCycleBudgetSetCom(@RequestBody @Validated ImplementInitializeTargetCycleBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeTargetCycleBudgetSetCom(reqDTO));
    }
/**
   * D7执行计算目标预算占比(公共)
   */
    @PostMapping("implementCalculateProportionTargetBudgetCom")
    public OkrResult<ImplementCalculateProportionTargetBudgetComRespDto> implementCalculateProportionTargetBudgetCom(@RequestBody @Validated ImplementCalculateProportionTargetBudgetComReqDto reqDTO){
    return OkrResult.success(financeService.implementCalculateProportionTargetBudgetCom(reqDTO));
    }
/**
   * D7执行初始化目标内容预算账户及周期预算设置(公共)
   */
    @PostMapping("implementInitializeTargetContentBudgetAccountSetEtcCom")
    public OkrResult<ImplementInitializeTargetContentBudgetAccountSetEtcComRespDto> implementInitializeTargetContentBudgetAccountSetEtcCom(@RequestBody @Validated ImplementInitializeTargetContentBudgetAccountSetEtcComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeTargetContentBudgetAccountSetEtcCom(reqDTO));
    }
/**
   * D7查询目标预算设置详情(公共)
   */
    @PostMapping("queryTargetBudgetSetDetailCom")
    public OkrResult<QueryTargetBudgetSetDetailComRespDto> queryTargetBudgetSetDetailCom(@RequestBody @Validated QueryTargetBudgetSetDetailComReqDto reqDTO){
    return OkrResult.success(financeService.queryTargetBudgetSetDetailCom(reqDTO));
    }

/**
   * D7执行单内容更新资金来源金额(公共)
   */
    @PostMapping("implementSingleContentCountFundingSourceAmountCom")
    public OkrResult<ImplementSingleContentCountFundingSourceAmountComRespDto> implementSingleContentCountFundingSourceAmountCom(@RequestBody @Validated ImplementSingleContentCountFundingSourceAmountComReqDto reqDTO){
    return OkrResult.success(financeService.implementSingleContentCountFundingSourceAmountCom(reqDTO));
    }
/**
   * D7-新增/修改目标预算设置(公共)
   */
    @PostMapping("addTargetBudgetSetCom")
    public OkrResult<AddTargetBudgetSetComRespDto> addTargetBudgetSetCom(@RequestBody @Validated AddTargetBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.addTargetBudgetSetCom(reqDTO));
    }
/**
   * D7-执行当前汇报内容财务账户加减费用(公共)
   */
    @PostMapping("implementCurRptContFinAcctPlusMinusExpCom")
    public OkrResult<ImplementCurRptContFinAcctPlusMinusExpComRespDto> implementCurRptContFinAcctPlusMinusExpCom(@RequestBody @Validated ImplementCurRptContFinAcctPlusMinusExpComReqDto reqDTO){
    return OkrResult.success(financeService.implementCurRptContFinAcctPlusMinusExpCom(reqDTO));
    }
/**
   * D7执行财务账户推redis(公共)
   */
    @PostMapping("implementFinancialAccountPromotionRedisCom")
    public OkrResult<ImplementFinancialAccountPromotionRedisComRespDto> implementFinancialAccountPromotionRedisCom(@RequestBody @Validated ImplementFinancialAccountPromotionRedisComReqDto reqDTO){
    return OkrResult.success(financeService.implementFinancialAccountPromotionRedisCom(reqDTO));
    }
/**
   * D7批量查询目标周期及来源预算设置(公共)
   */
    @PostMapping("batchQueryTargetCycleAndSourceBudgetSetCom")
    public OkrResult<BatchQueryTargetCycleAndSourceBudgetSetComRespDto> batchQueryTargetCycleAndSourceBudgetSetCom(@RequestBody @Validated BatchQueryTargetCycleAndSourceBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.batchQueryTargetCycleAndSourceBudgetSetCom(reqDTO));
    }
/**
   * D7-新增资金账户(公共)
   */
    @PostMapping("addFinanceAccountCom")
    public OkrResult<AddFinanceAccountComRespDto> addFinanceAccountCom(@RequestBody @Validated AddFinanceAccountComReqDto reqDTO){
    return OkrResult.success(financeService.addFinanceAccountCom(reqDTO));
    }
/**
   * D7执行初始化财务预算及实体单账户(公共)
   */
    @PostMapping("implementInitializeFinancialBudgetPhysicalAccountsCom")
    public OkrResult<ImplementInitializeFinancialBudgetPhysicalAccountsComRespDto> implementInitializeFinancialBudgetPhysicalAccountsCom(@RequestBody @Validated ImplementInitializeFinancialBudgetPhysicalAccountsComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeFinancialBudgetPhysicalAccountsCom(reqDTO));
    }
/**
   * D7查询减预算资金来源列表(公共)
   */
    @PostMapping("querySubBudgetSourceListCom")
    public OkrResult<QuerySubBudgetSourceListComRespDto> querySubBudgetSourceListCom(@RequestBody @Validated QuerySubBudgetSourceListComReqDto reqDTO){
    return OkrResult.success(financeService.querySubBudgetSourceListCom(reqDTO));
    }
/**
   * D7-执行初始化目标财务账户及预算设置(公共)
   */
    @PostMapping("implementInitializeTargetFinAndBudgetSetCom")
    public OkrResult<ImplementInitializeTargetFinAndBudgetSetComRespDto> implementInitializeTargetFinAndBudgetSetCom(@RequestBody @Validated ImplementInitializeTargetFinAndBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeTargetFinAndBudgetSetCom(reqDTO));
    }
/**
   * D7查询目标周期预算设置资金来源列表(公共)
   */
    @PostMapping("queryTargetCycleBudgetSetSourceListCom")
    public OkrResult<QueryTargetCycleBudgetSetSourceListComRespDto> queryTargetCycleBudgetSetSourceListCom(@RequestBody @Validated QueryTargetCycleBudgetSetSourceListComReqDto reqDTO){
    return OkrResult.success(financeService.queryTargetCycleBudgetSetSourceListCom(reqDTO));
    }
/**
   * D7执行单内容统计目标资金来源预算推redis(公共)
   */
    @PostMapping("implementSingleContentCountTargetFundingSourceBudgetSetRedisCom")
    public OkrResult<ImplementSingleContentCountTargetFundingSourceBudgetSetRedisComRespDto> implementSingleContentCountTargetFundingSourceBudgetSetRedisCom(@RequestBody @Validated ImplementSingleContentCountTargetFundingSourceBudgetSetRedisComReqDto reqDTO){
    return OkrResult.success(financeService.implementSingleContentCountTargetFundingSourceBudgetSetRedisCom(reqDTO));
    }
/**
   * D7执行初始化来源预算设置
   */
    @PostMapping("implementInitializeSourceBudgetSet")
    public OkrResult<ImplementInitializeSourceBudgetSetRespDto> implementInitializeSourceBudgetSet(@RequestBody @Validated ImplementInitializeSourceBudgetSetReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeSourceBudgetSet(reqDTO));
    }
/**
   * D7执行初始化来源预算设置(公共)
   */
    @PostMapping("implementInitializeSourceBudgetSetCom")
    public OkrResult<ImplementInitializeSourceBudgetSetComRespDto> implementInitializeSourceBudgetSetCom(@RequestBody @Validated ImplementInitializeSourceBudgetSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementInitializeSourceBudgetSetCom(reqDTO));
    }
/**
   * D7-查询预算账户及资金到账账户详情(公共)
   */
    @PostMapping("queryBudgetAccountAndFundAccountDetailCom")
    public OkrResult<QueryBudgetAccountAndFundAccountDetailComRespDto> queryBudgetAccountAndFundAccountDetailCom(@RequestBody @Validated QueryBudgetAccountAndFundAccountDetailComReqDto reqDTO){
    return OkrResult.success(financeService.queryBudgetAccountAndFundAccountDetailCom(reqDTO));
    }

/**
   * D7-根据账户类型统计下级账户并更新当前账户(公共)
   */
    @PostMapping("implementAnaAcctTypeCountSubAcctAndUpdateCurAcctCom")
    public OkrResult<ImplementAnaAcctTypeCountSubAcctAndUpdateCurAcctComRespDto> implementAnaAcctTypeCountSubAcctAndUpdateCurAcctCom(@RequestBody @Validated ImplementAnaAcctTypeCountSubAcctAndUpdateCurAcctComReqDto reqDTO){
    return OkrResult.success(financeService.implementAnaAcctTypeCountSubAcctAndUpdateCurAcctCom(reqDTO));
    }
/**
   * D7-执行更新当前账户并推Redis(公共)
   */
    @PostMapping("implementUpdateCurAcctPushRedisCom")
    public OkrResult<ImplementUpdateCurAcctPushRedisComRespDto> implementUpdateCurAcctPushRedisCom(@RequestBody @Validated ImplementUpdateCurAcctPushRedisComReqDto reqDTO){
    return OkrResult.success(financeService.implementUpdateCurAcctPushRedisCom(reqDTO));
    }
/**
   * D7-查询财务账户列表ByIds(公共)
   */
    @PostMapping("batchQueryFinanceAccountListByIdsCom")
    public OkrResult<BatchQueryFinanceAccountListByIdsComRespDto> batchQueryFinanceAccountListByIdsCom(@RequestBody @Validated BatchQueryFinanceAccountListByIdsComReqDto reqDTO){
    return OkrResult.success(financeService.batchQueryFinanceAccountListByIdsCom(reqDTO));
    }
/**
   * D7获取目标内容兄弟预算账户(公共)
   */
    @PostMapping("obtainTargetContentBrotherBudgetAccountCom")
    public OkrResult<ObtainTargetContentBrotherBudgetAccountComRespDto> obtainTargetContentBrotherBudgetAccountCom(@RequestBody @Validated ObtainTargetContentBrotherBudgetAccountComReqDto reqDTO){
    return OkrResult.success(financeService.obtainTargetContentBrotherBudgetAccountCom(reqDTO));
    }
/**
   * D7删除目标内容预算设置(公共)
   */
    @PostMapping("deleteTargetContentSetBudgetCom")
    public OkrResult<DeleteTargetContentSetBudgetComRespDto> deleteTargetContentSetBudgetCom(@RequestBody @Validated DeleteTargetContentSetBudgetComReqDto reqDTO){
    return OkrResult.success(financeService.deleteTargetContentSetBudgetCom(reqDTO));
    }
/**
   * D7执行清理目标预算及账户账单(公共)
   */
    @PostMapping("implementClearTargetBudgetAndBillAccountCom")
    public OkrResult<ImplementClearTargetBudgetAndBillAccountComRespDto> implementClearTargetBudgetAndBillAccountCom(@RequestBody @Validated ImplementClearTargetBudgetAndBillAccountComReqDto reqDTO){
    return OkrResult.success(financeService.implementClearTargetBudgetAndBillAccountCom(reqDTO));
    }
/**
   * D7删除账户账单(公共)
   */
    @PostMapping("deleteBillAndAccountCom")
    public OkrResult<DeleteBillAndAccountComRespDto> deleteBillAndAccountCom(@RequestBody @Validated DeleteBillAndAccountComReqDto reqDTO){
    return OkrResult.success(financeService.deleteBillAndAccountCom(reqDTO));
    }
/**
   * D7删除当前及下级内容账户账单(公共)
   */
    @PostMapping("deleteCurrentAndSubContentBillAccountCom")
    public OkrResult<DeleteCurrentAndSubContentBillAccountComRespDto> deleteCurrentAndSubContentBillAccountCom(@RequestBody @Validated DeleteCurrentAndSubContentBillAccountComReqDto reqDTO){
    return OkrResult.success(financeService.deleteCurrentAndSubContentBillAccountCom(reqDTO));
    }
/**
   * D7执行清空资金来源预算设置(公共)
   */
    @PostMapping("implementClearBudgetSourceSetCom")
    public OkrResult<ImplementClearBudgetSourceSetComRespDto> implementClearBudgetSourceSetCom(@RequestBody @Validated ImplementClearBudgetSourceSetComReqDto reqDTO){
    return OkrResult.success(financeService.implementClearBudgetSourceSetCom(reqDTO));
    }
/**
   * D7获取是否组织正式财务标准(公共)
   */
    @PostMapping("obtainIsOrgOfficialAccountNomCom")
    public OkrResult<ObtainIsOrgOfficialAccountNomComRespDto> obtainIsOrgOfficialAccountNomCom(@RequestBody @Validated ObtainIsOrgOfficialAccountNomComReqDto reqDTO){
    return OkrResult.success(financeService.obtainIsOrgOfficialAccountNomCom(reqDTO));
    }
/**
   * D7托底更新全模板实体统计账户(公共)
   */
    @PostMapping("bottomUpdateEntityStatisticalAccountCom")
    public OkrResult<BottomUpdateEntityStatisticalAccountComRespDto> bottomUpdateEntityStatisticalAccountCom(@RequestBody @Validated BottomUpdateEntityStatisticalAccountComReqDto reqDTO){
    return OkrResult.success(financeService.bottomUpdateEntityStatisticalAccountCom(reqDTO));
    }

/**
   * D7执行判断更新到账账户资金金额(公共)
   */
    @PostMapping("implementUpdateReceivedAccountAmountCom")
    public OkrResult<ImplementUpdateReceivedAccountAmountComRespDto> implementUpdateReceivedAccountAmountCom(@RequestBody @Validated ImplementUpdateReceivedAccountAmountComReqDto reqDTO){
    return OkrResult.success(financeService.implementUpdateReceivedAccountAmountCom(reqDTO));
    }
/**
   * D7执行资金账户加减(公共)
   */
    @PostMapping("implementFinanceAccountAddAndSubtractCom")
    public OkrResult<ImplementFinanceAccountAddAndSubtractComRespDto> implementFinanceAccountAddAndSubtractCom(@RequestBody @Validated ImplementFinanceAccountAddAndSubtractComReqDto reqDTO){
    return OkrResult.success(financeService.implementFinanceAccountAddAndSubtractCom(reqDTO));
    }
/**
   * D7执行统计下级并更新当前账户(公共)
   */
    @PostMapping("implementStatSubAcctAndUpdateCurAcctCom")
    public OkrResult<ImplementStatSubAcctAndUpdateCurAcctComRespDto> implementStatSubAcctAndUpdateCurAcctCom(@RequestBody @Validated ImplementStatSubAcctAndUpdateCurAcctComReqDto reqDTO){
    return OkrResult.success(financeService.implementStatSubAcctAndUpdateCurAcctCom(reqDTO));
    }
/**
   * D7新增资金账单(公共)
   */
    @PostMapping("addFinanceBillCom")
    public OkrResult<AddFinanceBillComRespDto> addFinanceBillCom(@RequestBody @Validated AddFinanceBillComReqDto reqDTO){
    return OkrResult.success(financeService.addFinanceBillCom(reqDTO));
    }
/**
   * D7执行账户账单处理(公共)
   */
    @PostMapping("implementBillAndAccountCom")
    public OkrResult<ImplementBillAndAccountComRespDto> implementBillAndAccountCom(@RequestBody @Validated ImplementBillAndAccountComReqDto reqDTO){
    return OkrResult.success(financeService.implementBillAndAccountCom(reqDTO));
    }
/**
   * D7执行统计下级并更新当前实体统计账户(公共)
   */
    @PostMapping("implementStatSubAcctAndUpdateCurEntityAcctCom")
    public OkrResult<ImplementStatSubAcctAndUpdateCurEntityAcctComRespDto> implementStatSubAcctAndUpdateCurEntityAcctCom(@RequestBody @Validated ImplementStatSubAcctAndUpdateCurEntityAcctComReqDto reqDTO){
    return OkrResult.success(financeService.implementStatSubAcctAndUpdateCurEntityAcctCom(reqDTO));
    }
/**
   * D7执行单张牌资金账户更新(公共)
   */
    @PostMapping("implementSingleCardFundAccountPromotionRedisCom")
    public OkrResult<ImplementSingleCardFundAccountPromotionRedisComRespDto> implementSingleCardFundAccountPromotionRedisCom(@RequestBody @Validated ImplementSingleCardFundAccountPromotionRedisComReqDto reqDTO){
    return OkrResult.success(financeService.implementSingleCardFundAccountPromotionRedisCom(reqDTO));
    }
/**
   * D7执行刷新全模板财务账户及标准数据快照(公共)
   */
    @PostMapping("implementRefreshFullTemplateFinancialAccountAndStandardDataSnapshotCom")
    public OkrResult<ImplementRefreshFullTemplateFinancialAccountAndStandardDataSnapshotComRespDto> implementRefreshFullTemplateFinancialAccountAndStandardDataSnapshotCom(@RequestBody @Validated ImplementRefreshFullTemplateFinancialAccountAndStandardDataSnapshotComReqDto reqDTO){
    return OkrResult.success(financeService.implementRefreshFullTemplateFinancialAccountAndStandardDataSnapshotCom(reqDTO));
    }
/**
   * D7获取当前内容账户信息(公共)
   */
    @PostMapping("obtainCurrentContentAccountInfoCom")
    public OkrResult<ObtainCurrentContentAccountInfoComRespDto> obtainCurrentContentAccountInfoCom(@RequestBody @Validated ObtainCurrentContentAccountInfoComReqDto reqDTO){
    return OkrResult.success(financeService.obtainCurrentContentAccountInfoCom(reqDTO));
    }
/**
   * D7查询全模板资金账户列表(公共)
   */
    @PostMapping("queryFullTemplateFundAccountListCom")
    public OkrResult<QueryFullTemplateFundAccountListComRespDto> queryFullTemplateFundAccountListCom(@RequestBody @Validated QueryFullTemplateFundAccountListComReqDto reqDTO){
    return OkrResult.success(financeService.queryFullTemplateFundAccountListCom(reqDTO));
    }
/**
   * D7分析预算资金使用率(公共)
   */
    @PostMapping("analysisBudgetFundUsageRateCom")
    public OkrResult<AnalysisBudgetFundUsageRateComRespDto> analysisBudgetFundUsageRateCom(@RequestBody @Validated AnalysisBudgetFundUsageRateComReqDto reqDTO){
    return OkrResult.success(financeService.analysisBudgetFundUsageRateCom(reqDTO));
    }
/**
   * D7执行修正预算占比(公共)
   */
    @PostMapping("implementRevisedBudgetRatioCom")
    public OkrResult<ImplementRevisedBudgetRatioComRespDto> implementRevisedBudgetRatioCom(@RequestBody @Validated ImplementRevisedBudgetRatioComReqDto reqDTO){
    return OkrResult.success(financeService.implementRevisedBudgetRatioCom(reqDTO));
    }
/**
   * D7批量存档目标内容预算设置(公共)
   */
    @PostMapping("batchArchiveTargetContentSetBudgetCom")
    public OkrResult<BatchArchiveTargetContentSetBudgetComRespDto> batchArchiveTargetContentSetBudgetCom(@RequestBody @Validated BatchArchiveTargetContentSetBudgetComReqDto reqDTO){
    return OkrResult.success(financeService.batchArchiveTargetContentSetBudgetCom(reqDTO));
    }
/**
   * D7存档账户账单处理(公共)
   */
    @PostMapping("archiveBillAndAccountCom")
    public OkrResult<ArchiveBillAndAccountComRespDto> archiveBillAndAccountCom(@RequestBody @Validated ArchiveBillAndAccountComReqDto reqDTO){
    return OkrResult.success(financeService.archiveBillAndAccountCom(reqDTO));
    }
}
